package javaobjectsandencapsulation.no6;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * 测试通过Iterator遍历List
 */
public class Test3 {
    public static void main(String[] args) {
        //1.创建四个狗狗对象
        Dog dog = new Dog("欧欧", "雪瑞纳");
        Dog dog1 = new Dog("亚亚", "拉布拉多");
        Dog dog2 = new Dog("美美", "哈士奇");
        Dog dog3 = new Dog("菲菲", "泰迪");
        //2.创建ArrayList对象集合并把4个狗狗对象放入
        Map map = new HashMap();
        map.put(dog.getName(), dog);
        map.put(dog1.getName(), dog1);
        map.put(dog2.getName(), dog2);
        map.put(dog3.getName(), dog3);
        //3.通过迭代器一次输出集合中所有狗狗的信息
        Set Keys=map.keySet();  //取出所有key 的集合
        Iterator it=Keys.iterator();    //获取Iterator对象
        while(it.hasNext()){       //如果迭代有更多的元素,返回true。(换句话说,如果下一个返回一个元素,而不是抛出一个异常,返回true。)
            String key=(String)it.next();   //取出key
            Dog dogs=(Dog)map.get(key);     //根据key取出对应的值
            System.out.println(key+"\t"+dogs.getType());
        }
        System.out.println("**********************************");
        for (Object key:Keys) {     //foreach循环遍历
            Dog dogs = (Dog) map.get(key);
            System.out.println(key+"\t"+dogs.getName());
        }

    }
}
